# 设置编译器
CC = gcc

# 设置编译选项
CFLAGS = -Wall -std=c99 -I"C:/Library/SDL3-3.2.8/include" -g 
LDFLAGS = -L"C:/Library/SDL3-3.2.8/lib/x64" -lSDL3

# 设置目标文件
TARGET = main

# 设置源文件路径
LUA_SRCS := $(wildcard ./lib/lua/src/*.c)
MY_SRCS := $(wildcard ./src/*.c)
SRCS := $(LUA_SRCS) $(MY_SRCS)

# 设置对象文件路径
OBJS := $(patsubst %.c,build/%.o,$(notdir $(SRCS)))

# 创建 build 目录
$(shell mkdir -p build)

# 默认目标
all: $(TARGET)

# 构建目标文件
$(TARGET): $(OBJS)
	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)

# 构建对象文件
build/%.o: ./lib/lua/src/%.c
	$(CC) $(CFLAGS) -c $< -o $@

build/%.o: ./src/%.c
	$(CC) $(CFLAGS) -c $< -o $@

# 清理生成的文件
clean:
	rm -f $(TARGET) $(OBJS)
	rm -rf build/

run:
	./main.exe

go: all run